package basis.netease.easy;

import java.util.PriorityQueue;
import java.util.Scanner;

/**
 * 7-13 求最后一块石头的重量
 * 有一堆石头，每块石头的重量都是正整数。
 * 每一回合，从中选出两块 最重的 石头，然后将它们一起粉碎。假设石头的重量分别为 x 和 y，且 x <= y。那么粉碎的可能结果如下：
 * 如果 x == y，那么两块石头都会被完全粉碎；
 * 如果 x != y，那么重量为 x 的石头将会完全粉碎，而重量为 y 的石头新重量为 y-x。
 * 最后，最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下，就返回 0。
 * 输入格式:
 * 输入一组石头的重量，均为正整数。
 * 输出格式:
 * 输出最后一块石头的重量。如果没有石头剩下，就返回 0。
 * 输入样例:
 * 在这里给出一组输入。例如：
 * 2,7,4,1,8,1
 * 输出样例:
 * 在这里给出相应的输出。例如：
 * 1
 */
public class Main_10 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PriorityQueue<Integer> maxHeap = new PriorityQueue<>((a, b) -> b - a);
        for (String stone : sc.nextLine().split(",")) {
            maxHeap.offer(Integer.parseInt(stone));
        }
        while (maxHeap.size() > 1) {
            Integer stone1 = maxHeap.poll();
            Integer stone2 = maxHeap.poll();
            maxHeap.offer(Math.abs(stone1 - stone2));
        }
        System.out.println(maxHeap.poll());
    }

}
